home *** CD-ROM | disk | FTP | other *** search
/ Developer Helper 1: Phil & Dave's Excellent CD / Excellent CD HFS.raw / HyperCard / HyperCard 1.2.2 International / HyperCard British (B-1.2.2) / More Stacks / Phone / stack.txt < prev   
Text File  |  1988-02-17  |  6KB  |  190 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x0 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2152
  12. -- card count: 1
  13. -- first card id: 3103
  14. -- list block id: 2336
  15. -- print block id: 51
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 17728 bytes
  21. -- stack block size: 8192 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x00000000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x0000220000002200
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0xCC003300CC003300
  30. -- patterns[4]: 0xCC883322CC883322
  31. -- patterns[5]: 0xEE88BB22EE88BB22
  32. -- patterns[6]: 0xEECCBB33EECCBB33
  33. -- patterns[7]: 0xFFCCFF33FFCCFF33
  34. -- patterns[8]: 0xFFEEFFBBFFEEFFBB
  35. -- patterns[9]: 0xFFFFFFBBFFFFFFBB
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- Copyright 1987 Apple Computer, Inc.
  69.  
  70. on idle
  71.   if the short time ‚↠field "loc time"
  72.   then put the short time into field "loc time"
  73.   pass idle
  74. end idle
  75.  
  76. on openStack
  77.   show message box
  78. end openStack
  79.  
  80. on dial string
  81.   global dialNumber
  82.   put string into dialNumber
  83.   stripNonDials
  84.   if dialNumber is empty then exit dial
  85.   put the length of dialNumber into dialLength
  86.  
  87.   if dialLength < 7 then
  88.     doDial bkgnd field preamble & dialNumber
  89.  
  90.   else if dialLength = 7 then
  91.     put char 1 to 3 of dialNumber into prefix
  92.     repeat with index = 1 to number of words in field "Local Prefixes"
  93.       if word index of field "Local Prefixes" is prefix then
  94.         doDial field preamble & dialNumber
  95.         exit dial
  96.       end if
  97.     end repeat
  98.     answer "Is this a local (non-toll) call?" with No or Yes
  99.     if it is "Yes" then
  100.       put prefix & space after field "Local Prefixes"
  101.       doDial field preamble & dialNumber
  102.     else doDial field preamble & field "toll prefix" & dialNumber
  103.  
  104.   else if dialLength = 8 then
  105.     if offset(field "toll prefix", dialNumber) is 1 then
  106.       doDial field preamble & dialNumber
  107.     else dialInternational
  108.  
  109.   else if dialLength = 9 then
  110.     dialInternational
  111.  
  112.   else if dialLength = 10 then
  113.     if offset(field "area code", dialNumber) is 1 then
  114.       repeat for the length of field "area code"
  115.         delete char 1 of dialNumber
  116.       end repeat
  117.       dial dialNumber
  118.     else if char 2 of dialNumber is "0" or char 2 of dialNumber is "1"
  119.     then doDial field preamble & field "long dist preamble" & dialNumber
  120.   else dialInternational
  121.  
  122. else if dialLength = 7 + the length of field "long dist preamble" + the length of field "area code" then
  123.   if offset(field "long dist preamble", dialNumber) is 1 then
  124.     get char 2 to 4 of dialNumber
  125.     if it is field "area code" then
  126.       delete char 1 to 4 of dialNumber
  127.       dial dialNumber
  128.     else
  129.       delete char 1 to the length of field "long dist preamble" of dialNumber
  130.       Dodial field preamble & field "long dist preamble" & dialNumber
  131.     end if
  132.   else dialInternational
  133.  
  134. else if dialLength > 11 then dialInternational
  135.  
  136. end dial
  137.  
  138. on doDial dialNumber
  139.   put "Now dialing: " & dialNumber
  140.  
  141.   if hilite of bkgnd button "modem (tone dialing)"
  142.   then send "dial" && quote & dialNumber & quote && "with modem" && quote & "ATS0=0DT" & quote to HyperCard
  143.  
  144.   if hilite of bkgnd button "modem (pulse dialing)"
  145.   then send "dial" && quote & dialNumber & quote && "with modem" && quote & "ATS0=0DP" & quote to HyperCard
  146.  
  147.   if hilite of bkgnd button "speaker (tone dialing)"
  148.   then send "dial" && quote & dialNumber & quote to HyperCard
  149.  
  150.   put empty
  151. end doDial
  152.  
  153. on dialInternational
  154.   global dialNumber
  155.   if offset(field "intl preamble", dialNumber) is 1
  156.   then repeat for the length of field "intl preamble"
  157.   delete char 1 of dialNumber
  158. end repeat
  159. set lockScreen to TRUE
  160. push this card
  161. go "Area Codes"
  162. find char 1 to 2 of dialNumber in field "Country Code"
  163. if the result is "not found" then
  164.   put empty
  165.   pop card
  166.   doDial field preamble & dialNumber
  167.   exit dialInternational
  168. else if char 3 of field "Country Code" is not "not found" then
  169.   find char 1 to 3 of dialnumber in field "Country Code"
  170.   if the result is "not found" then
  171.     put empty
  172.     find char 3 to 5 of dialnumber in field "area code"
  173.   end if
  174. end if
  175. answer "Dial " & field "Country" & "?" with Cancel or OK
  176. pop card
  177. set lockScreen to FALSE
  178. if it is "OK" then
  179.   doDial field preamble & field "intl preamble" & dialNumber & "#"
  180. end if
  181. end dialInternational
  182.  
  183. on stripNonDials
  184.   global dialNumber
  185.   repeat with index = the length of dialNumber down to 1
  186.     if char index of dialNumber is not in "0123456789ABCD#*"
  187.     then delete char index of dialNumber
  188.   end repeat
  189. end stripNonDials
  190.